package com.vt.statusmanager;

/**
 * Класс для проверки входных данных на null и пустые значения.
 * 
 * @author Vit
 * 
 */
public class Preconditions {
	/**
	 * Проверка тождественности null объекта
	 * 
	 * @param o произвольный объект для проверки
	 */
	public static void notNull(Object o) {
		if (o == null) {
			throw new IllegalArgumentException();
		}
	}

	/**
	 * Проверка тождественности null массива объектов
	 * 
	 * @param oo массив произвольных объектов для проверки
	 */
	public static void notNull(Object... oo) {
		for (Object o : oo) {
			if (o == null) {
				throw new IllegalArgumentException();
			}
		}
	}

	/**
	 * Проверка тождественности null или "" строки
	 * 
	 * @param s строка для проверки
	 */
	public static void notBlank(String s) {
		if (s == null || s.trim().equals("")) {
			throw new IllegalArgumentException();
		}
	}

	/**
	 * Проверка тождественности null или "" массива строк
	 * 
	 * @param ss массив строк для проверки
	 */
	public static void notBlank(String... ss) {
		for (String s : ss) {
			if (s == null || s.trim().equals("")) {
				throw new IllegalArgumentException();
			}
		}
	}

	/**
	 * Проверка истинности
	 * 
	 * @param v переменная с булевым значением для проверки
	 */
	public static void isTrue(boolean v) {
		if (!v) {
			throw new IllegalArgumentException();
		}
	}
}
